1
继承与状态的演进
AI035Lesson 2
00:00

在 Ruby 中,继承不仅仅是共享方法;它关乎 状态的演进。当我们创建一个像 KaraokeSong < Song这样的子类时,我们建立了一种‘是-一个’的关系,子类继承父类的结构,同时完善自身的身份。

1. 初始化链

关键字 super 是连接两代之间的桥梁。在 initialize中调用 super 会将参数传递给父类的构造函数,确保基础实例变量(@name@artist)在子类添加其特定状态(@lyrics)之前被正确设置。

class Song@name、@artistclass KaraokeSong@lyricssuper() 调用父类

2. 方法增强

重写一个方法,如 to_s 使我们能够扩展行为。通过在新定义中调用 super ,我们可以获取父类的字符串输出,并简单地附加子类的新数据,从而保持清晰的演进路径。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>